package com.xiaoye.qbproject.vo;

import com.xiaoye.qbproject.annotation.Excel;
import com.xiaoye.qbproject.util.StringUtils;
import lombok.Data;

import java.io.Serializable;
import java.util.ArrayList;
import java.util.List;

/**
 * @author : ChenYao
 * @version : 1.0
 * @description : 第二版整理的 部队导入Vo类
 * @create : 2025-01-13 13:12
 */
@Data
public class TroopsV2ImportVo implements Serializable {
    /**
     * 主键id
     */
    @Excel(name = "id")
    private String id;
    /**
     * 上级部队ID
     */
    @Excel(name = "parent_id")
    private String parentId;
    /**
     * 上级部队名称
     */
    @Excel(name = "上级部队")
    private String parentName;

    /**
     * 部队名称
     */
    @Excel(name = "部队名称")
    private String troopsName;
    /**
     * 部队名称(外文)
     */
    @Excel(name = "部队名称(外文)")
    private String troopsNameEn;
    /**
     * 简称
     */
    @Excel(name = "简称")
    private String abbreviation;
    /**
     * 类型
     */
    @Excel(name = "troops_style")
    private String troopsStyle;
    /**
     * 简介
     */
    @Excel(name = "简介")
    private String summary;
    /**
     * 规模(人数)
     */
    @Excel(name = "scale")
    private Integer scale;
    /**
     * 军种
     */
    @Excel(name = "军种")
    private String militaryService;
    /**
     * 常住地
     */
    @Excel(name = "domicile")
    private String domicile;
    /**
     * 国家ID
     */
    @Excel(name = "country_id")
    private String countryId;
    /**
     * 国家名称
     */
    @Excel(name = "国家")
    private String countryName;
    /**
     * 成立年份
     */
    @Excel(name = "成立年份")
    private String formYear;
    /**
     * 参与战争(多个使用逗号分割)
     */
    @Excel(name = "参与战争")
    private String takePartBattle;
    /**
     * 战争列表
     */
    private List<String> takePartBattleList = new ArrayList<>();

    /**
     * 武器
     */
    @Excel(name = "武器")
    private String zb;

    /**
     * 武器列表
     */
    private List<String> zbList = new ArrayList<>();

    public List<String> getTakePartBattleList() {
        if (StringUtils.isBlank(takePartBattle)) {
            return takePartBattleList;
        }
        // 根据zb 字符串 进行 逗号和回车拆分成列表
        String[] split = takePartBattle.split("[、,\\n]+");
        for (String s : split) {
            takePartBattleList.add(s.trim());
        }
        return takePartBattleList;
    }

    public List<String> getZbList() {
        if (StringUtils.isBlank(zb)) {
            return zbList;
        }
        // 根据zb 字符串 进行 逗号和回车拆分成列表
        String[] zbs = zb.split("[、,\\n]+");
        for (String s : zbs) {
            zbList.add(s.trim());
        }
        return zbList;
    }
}
